Installing/Configuring
PHP Manual

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Opciones de configuración de sesión
Nombre Predeterminado Modificable Cambios
session.save_path "/" PHP_INI_ALL  
session.name "PHPSESSID" PHP_INI_ALL  
session.save_handler "files" PHP_INI_ALL  
session.auto_start "0" PHP_INI_ALL  
session.gc_probability "1" PHP_INI_ALL  
session.gc_divisor "100" PHP_INI_ALL Disponible desde PHP 4.3.2.
session.gc_maxlifetime "1440" PHP_INI_ALL  
session.serialize_handler "php" PHP_INI_ALL  
session.cookie_lifetime "0" PHP_INI_ALL  
session.cookie_path "/" PHP_INI_ALL  
session.cookie_domain "" PHP_INI_ALL  
session.cookie_secure "" PHP_INI_ALL Disponible desde PHP 4.0.4.
session.cookie_httponly "" PHP_INI_ALL Disponible desde PHP 5.2.0.
session.use_cookies "1" PHP_INI_ALL  
session.use_only_cookies "1" PHP_INI_ALL Disponible desde PHP 4.3.0.
session.referer_check "" PHP_INI_ALL  
session.entropy_file "" PHP_INI_ALL  
session.entropy_length "0" PHP_INI_ALL  
session.cache_limiter "nocache" PHP_INI_ALL  
session.cache_expire "180" PHP_INI_ALL  
session.use_trans_sid "0" PHP_INI_ALL PHP_INI_ALL en PHP <= 4.2.3. PHP_INI_PERDIR en PHP < 5. Disponible desde PHP 4.0.3.
session.bug_compat_42 "1" PHP_INI_ALL Disponible desde PHP 4.3.0. Eliminada en PHP 6.0.0.
session.bug_compat_warn "1" PHP_INI_ALL Disponible desde PHP 4.3.0. Eliminada en PHP 6.0.0.
session.hash_function "0" PHP_INI_ALL Disponible desde PHP 5.0.0.
session.hash_bits_per_character "4" PHP_INI_ALL Disponible desde PHP 5.0.0.
url_rewriter.tags "a=href,area=href,frame=src,form=,fieldset=" PHP_INI_ALL Disponible desde PHP 4.0.4.

For further details and definitions of the PHP_INI_* modes, see the En dónde puede definirse un valor de configuración.

El sistema de gestión de sesiones soporta un número de opciones de configuración que puede ubicar en su archivo php.ini. Le daremos una breve introducción.

session.save_handler string
session.save_handler define el nombre del gestor que es usado para almacenar y recuperar datos asociados con una sesión. Su valor predeterminado es files. Note que extensiones individuales pueden registrar sus propios gestores save_handler; los gestores registrados pueden consultarse en una instalación específica refiriéndose a phpinfo(). Vea también session_set_save_handler().
session.save_path string
session.save_path define el argumento que es pasado al gestor de guardado. Si elige el gestor de archivos predeterminado, ésta es la ruta hacia donde son creados los archivos. Vea también session_save_path().

Existe un argumento opcional N a esta directiva que determina el número de niveles de directorio en los que serán repartidos sus archivos de sesión. Por ejemplo, al definir este valor como '5;/tmp' puede terminar creando un archivo de sesión y una ubicación como /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If. Para poder usar N, debe crear todos estos directorios antes de su uso. Un pequeño script de intérprete de comandos existe en ext/session para este efecto, se llama mod_files.sh. También note que si N es usado y es mayor que 0, entonces la recolección de basura automática no será implementada, vea una copia de php.ini para más información. Asimismo, si usa N, asegúrese de rodear session.save_path de "comillas", ya que el separador (;) es usado también para denotar comentarios en php.ini.

Warning

Si deja este valor asignado a un directorio con permisos globales de lectura, como /tmp (el valor predeterminado), puede que otros usuarios en el servidor puedan abusar de la información de las sesiones, obteniendo la lista de archivos en tal directorio.

Note: Antes de PHP 4.3.6, los usuarios de Windows debían modificar esta variable para poder usar las funciones de sesiones de PHP. Debe especificarse una ruta válida, p.ej.: c:/temp.

session.name string
session.name especifica el nombre de la sesión que es usada como nombre de cookie. Debería contener únicamente caracteres alfanuméricos. Su valor predeterminado es PHPSESSID. Vea también session_name().
session.auto_start boolean
session.auto_start especifica si el módulo de sesión inicia una sesión automáticamente al comienzo de una petición. Su valor predeterminado es 0 (deshabilitado).
session.serialize_handler string
session.serialize_handler define el nombre del gestor que es usado para seriar/revertir la seriación de datos. En la actualidad, un formato interno de PHP (de nombre php) y WDDX son soportados (de nombre wddx). WDDX se encuentra disponible únicamente si PHP ha sido compilado con soporte WDDX. Su valor predeterminado es php.
session.gc_probability integer
session.gc_probability, en conjunto con session.gc_divisor, es usado para manejar la probabilidad de que la rutina de recolección de basura se inicie. Su valor predeterminado es 1. Vea session.gc_divisor para más detalles.
session.gc_divisor integer
session.gc_divisor, junto con session.gc_probability, define la probabilidad de que el proceso de recolección de basura inicie en cada arranque de sesión. La probabilidad es calculada usando gc_probability/gc_divisor, p.ej. 1/100 quiere decir que existe un 1% de probabilidad de que el proceso de recolección inicie para cada petición. El valor predeterminado de session.gc_divisor es 100.
session.gc_maxlifetime integer
session.gc_maxlifetime especifica el número de segundos luego de los cuales los datos son vistos como 'basura', y son limpiados. La recolección de basura ocurre durante el comienzo de sesión.

Note: Si diferentes scripts tienen diferentes valores de session.gc_maxlifetime pero comparten el mismo sitio de almacenamiente de datos de sesión, entonces el script con el valor mínimo estará limpiando los datos. En este caso, use esta directiva junto con session.save_path.

Note: Si se encuentra usando el gestor de sesiones basado en archivos predeterminado, su sistema de archivos debe llevar cuenta de los tiempos de acceso (atime). El sistema FAT de windows no lo hace, así que tendrá que implementar otra manera de gestionar la recolección de basura en sus sesiones si está atascado con un sistema de archivos FAT, o cualquier otro sistema de archivos en donde no se encuentre disponible el manejo de valores atime. A partir de PHP 4.2.3, se ha usado mtime (fecha de modificación) en lugar de atime. De este modo, usted no tendrá problemas con sistemas de archivos en donde el rastreo de atime no se encuentra disponible.

session.referer_check string
session.referer_check contiene la subcadena con la que desea chequear cada Referer HTTP. Si el Referer fue enviado por el cliente y la subcadena no fue encontrada, la id de sesión embebida será marcada como inválida. Su valor predeterminado es una cadena vacía.
session.entropy_file string
session.entropy_file entrega una ruta al recurso externo (archivo) que será usado como fuente adicional de entropía en el proceso de creación de ids de sesión. Ejemplos de este valor son /dev/random o /dev/urandom, los cuales están disponibles en muchos sistemas Unix.
session.entropy_length integer
session.entropy_length especifica el número de bytes que serán leídos desde el archivo especificado anteriormente. Su valor predeterminado es 0 (deshabilitado).
session.use_cookies boolean
session.use_cookies especifica si el módulo usará cookies para almacenar el id de sesión en el lado del cliente. Su valor predeterminado es 1 (habilitado).
session.use_only_cookies boolean
session.use_only_cookies indica si el módulo debe usar cookies únicamente para almacenar el id de sesión en el lado del cliente. Al habilitar este parámetro, se previenen ataques que involucran el paso de ids de sesión en URLs. Este parámetro fue añadido en PHP 4.3.0. Su valor predeterminado es 1 (habilitado) desde PHP 6.0.
session.cookie_lifetime integer
session.cookie_lifetime especifica el tiempo de vida de la cookie enviada al navegador, en segundos. El valor 0 quiere decir "hasta que el navegador sea cerrado". Su valor predeterminado es 0. Vea también session_get_cookie_params() y session_set_cookie_params().

Note: La marca de tiempo de expiración es definida relativa a la hora del servidor, la cual no es necesariamente la misma que la hora en el navegador del cliente.

session.cookie_path string
session.cookie_path indica la ruta a definir en session_cookie. Su valor predeterminado es /. Vea también session_get_cookie_params() y session_set_cookie_params().
session.cookie_domain string
session.cookie_domain especifica el dominio a definir en session_cookie. Su valor predeterminado es vacío, lo que quiere decir el nombre de host del servidor que generó la cookie, de acuerdo a la especificación de cookies. Vea también session_get_cookie_params() y session_set_cookie_params().
session.cookie_secure boolean
session.cookie_secure especifica si las cookies deben ser enviadas sólamente a través de conexiones seguras. Su valor predeterminado es off. Este parámetro fue añadido en PHP 4.0.4. Vea también session_get_cookie_params() y session_set_cookie_params().
session.cookie_httponly boolean
Marca la cookie como accesible únicamente a través del protocolo HTTP. Esto quiere decir que la cookie no será accesible por lenguajes de scripting, tales como JavaScript. Este parámetro puede en efecto ayudar a reducir el robo de identidad por medio de ataques XSS (aunque no es soportado por todos los navegadores).
session.cache_limiter string
session.cache_limiter especifica el método de control de caché a usar para las páginas de sesión (none/nocache/private/private_no_expire/public). Su valor predeterminado es nocache. Vea también session_cache_limiter().
session.cache_expire integer
session.cache_expire especifica el valor time-to-live para páginas de sesión en caché, en minutos. Este valor no tiene efecto sobre el límite nocache. Su valor predeterminado es 180. Vea también session_cache_expire().
session.use_trans_sid boolean
session.use_trans_sid indica si el soporte de sid transparente es habilitado o no. Su valor predeterminado es 0 (dehabilitado).

Note: Para PHP 4.1.2 o versiones anteriores, este valor es habilitado al compilar con --enable-trans-sid. A partir de PHP 4.2.0, la característica trans-sid es compilada siempre. El manejo de sesiones basadas en URL tiene riesgos de seguridad adicionales comparado con el manejo de sesiones basadas en cookies. Los usuarios pueden enviar una URL que contenga una ID de sesión activa a sus amigos por correo electrónico, o los usuarios pueden guardar una URL que contiene una ID de sesión en sus marcadores, y acceder a su sitio siempre con el mismo ID de sesión, por ejemplo.

session.bug_compat_42 boolean
Las versiones de PHP 4.2.3 y anteriores tienen una característica/fallo no documentado que consiste en permitirle inicializar una variable de sesión en el contexto global, aun cuando register_globals se encuentre deshabilitado. PHP 4.3.0 y versiones posteriores le advertirán, si esta característica es usada, y si el parámetro session.bug_compat_warn se encuentra asimismo habilitado. Esta característica/fallo puede deshabilitarse mediante esta directiva.
session.bug_compat_warn boolean
Las versiones de PHP 4.2.3 y anteriores tienen una característica/fallo no documentado que consiste en permitirle inicializar una variable de sesión en el contexto global, aun cuando register_globals se encuentre deshabilitado. PHP 4.3.0 y versiones posteriores le advertirán, si esta característica es usada al habilitar tanto session.bug_compat_42 como session.bug_compat_warn.
session.hash_function mixed
session.hash_function le permite especificar el algoritmo hash usado para generar las IDs de sesión. '0' quiere decir MD5 (128 bits) y '1' quiere decir SHA-1 (160 bits).

A partir de PHP 6.0.0 es posible también especificar cualquiera de los algoritmos ofrecidos por la extensión hash (si está disponible), como sha512 o whirlpool. Una lista completa de los algoritmos soportados puede consultarse con la función hash_algos().

Note: Este valor fue introducido en PHP 5.

session.hash_bits_per_character integer
session.hash_bits_per_character le permite definir cuántos bits son almacenados en cada caracter cuando se convierten los datos binarios de hash hacia algo legible. Los valores posibles son '4' (0-9, a-f), '5' (0-9, a-v), y '6' (0-9, a-z, A-Z, "-", ",").

Note: Este valor fue introducido en PHP 5.

url_rewriter.tags string
url_rewriter.tags especifica cuáles etiquetas HTML son rescritas para incluir la id de sesión si el soporte transparente de sids se encuentra habilitado. Su valor predeterminado es a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=.

Note: Si desea conservar conformidad con el estándar HTML/XHTML estricto, retire la entrada form y use las etiquetas <fieldset> alrededor de sus campos de formulario.

Los parámetros de configuración track_vars y register_globals afectan el modo en que las variables de sesión son almacenadas y recuperadas.

Note: A partir de PHP 4.0.3, track_vars se encuentra habilitado siempre.


Installing/Configuring
PHP Manual